# -*- coding: utf-8 -*-
'''第四章，字典'''

#字典（不保证按照插入顺序排序的，字典没有顺序的概念）
dic={'name':'tzj','age':25}
print dic['name']
print dic['age']

#可以使用dict创建字典
print dict([('n','1'),('m','2')])

#可以直接插入到空字典中，但列表就不行，要事先创建对应长度的，比如:[None]*10
d={}
d['name']='tangzhjijie'
print d

#字典的格式化字符串
d1={'name':'zhijieeeeee','age':25}
print 'My name is %(name)s,my age is %(age)d' % d1

#clear方法清空字典
d1.clear()
print d1

#通过fromkeys创建字典
print {}.fromkeys(['a','b','c'])
#或、或者
print dict.fromkeys(['d','e','file'])

#通过get获取值，不存在会返回None，如果使用d['name']，不存在会报错

d2={'name':'god'}
print d2.get('name')
print d2.get('age')
#可设置默认值
print d2.get('age',20)

#判断是否存在某个key
print d2.has_key('age')
print 'name' in d2

#iteritems()或者items()
for k,v in dic.items():
	print 'k=',k,',v=',v
	
#iterkeys()或者keys()
for k in dic.keys():
	print k

#itervalues()或者values()
for v in dic.itervalues():
	print v

#pop('name'),移除对应值
if 'name' in d2:
	d2.pop('name')
print d2

#也可用del 删除
#del d2['name']

#update()用来更新字典
map1={'a':'111','b':'222'}
map2={'a':'aaa','c':'333'}
map1.update(map2)
print map1

#随机的弹出某项并返回
print map1.popitem()
print map1.popitem()